#ifndef MODEL_FACADE_H
#define MODEL_FACADE_H

#include "node.h"

class ModelFacade
{
	public:
		virtual bool AddNode(Node* newNode) = 0;
		virtual bool DeleteNode(void) = 0;
		virtual bool SwapNodes(unsigned int index1, unsigned int index2) = 0;
		virtual bool ModifyNode(Node* newNode) = 0;
		virtual bool ChangeActiveNode(char* name) = 0;
		virtual bool CreateNewTree(void) = 0;
		virtual bool DeleteActiveTree(void) = 0;
		virtual bool ChangeActiveTree(char* treeName) = 0;
		virtual void VisitActiveTree(Visitor* visitor) = 0;
};

#endif